<?php 
namespace Admin\Controller;

class AduserController extends AdminController
{
	public function index()
	{
		$list = D('aduser')->select();

		// dump($list);

		$arr = array(); //声明一个空数组
			//遍历用户信息
			foreach($list as $v){
				$role_ids = D('userrole')->field('rid')->where(array('uid'=>array('eq',$v['id'])))->select();
				//定义空数组
				$roles = array();
				//遍历
				foreach($role_ids as $value){
					$roles[] = D('role')->where(array('id'=>array('eq',$value['rid']),'status'=>array('eq',1)))->getField('name');
				}
				// $arr[],意思是在这个数组容器中追加数据，处于遍历中的数据有多，用追加
				$v['role'] = $roles; //将新得到角色信息放置到$v中
				// dump($v);
				$arr[] = $v;
			}

			// dump($arr);
		$this->assign('list',$arr);

		$this->display();
	}

	// 编辑页
	public function edit()
	{
		$id = I('id');
		$vo = D('aduser')->find($id);
		$this->assign('vo',$vo);
		$this->display();

	}

	//处理编辑数据
	public function update()
	{

		if (empty($_POST)) {
            $this->error('请填写数据!',U('aduser/edit'));
            exit;
        }
        // dump($_POST);
        D('aduser')->create();
      
        if (D('aduser')->save()) {
            $this->success('修改成功',U('index'));
        } else {
            $this->error('修改失败');
        }
		
	}

	// 添加页
	public function add()
	{
		$this->display();
	}

	//处理添加
	public function doadd()
	{
		$user = D('aduser');
		// dump($user->create());
      
		if(!$user->create()){
			$this->error($user->getError());
			exit;
		}
		// exit;
		if($user->add() >0){
			$this->success("数据添加成功",U('index'));
		}else{
				$this->error("数据添加失败");
		}
		
	}
	// 浏览角色信息
	public function rolelist()
	{
		// 查询节点信息
		$list = D('role')->where('status=1')->select();
		// 查询用户信息
		$user = D('aduser')->where(array('id'=>I('id')))->find();
		// 查询当前用户角色表的信息
		$rolelist = D('userrole')->where(array('uid'=>I('id')))->select();

		// 定义空数组
		$myrole = array();
		// 把用户的角色id拿到
		foreach ($rolelist as $key => $value) {
			$myrole[] = $value['rid'];
		}

		// 给前台的变量赋值
		$this->assign('list',$list);
		$this->assign('user',$user);
		$this->assign('role',$myrole);
		$this->display();
	}

	// 处理角色信息
	public function saverole()
	{
		// 判断角色是否为空
		if (empty(I('role'))) {
			$this->error('请选择一个角色');
		}

		$uid = I('post.uid');
		// echo $uid;
		// dump($_POST['uid']);
		// 清除用户的所有角色信息，避免重复添加
		D('userrole')->where(array('uid'=>$uid))->delete();
		foreach (I('role') as $value) {
			$data['uid'] = $uid;
			$data['rid'] = $value;
			D('userrole')->data($data)->add();
		}
		$this->success('角色分配成功',U('Aduser/index'));


	}
	// 处理删除 把角色表中的数据也删掉
	public function del()
	{
		//把用户角色表中相关的也删除
		if(D('aduser')->delete($_GET['id']) > 0 && D('userrole')->where(array('uid'=>array('eq',$_GET['id'])))->delete()){
			$this->success("删除成功！",U('Aduser/index'));
		}else{
			$this->error("删除失败");
		}		
	}



}